package org.dromara.quick.chat.service;

import org.dromara.common.model.enums.channel.ChannelTypeEnum;
import org.dromara.quick.chat.domain.ImChannelUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.IOException;

/**
 * 频道用户表
* @author Stars
* @description 针对表【im_channel_user(频道用户表，记录频道的订阅者及其相关状态信息)】的数据库操作Service
* @createDate 2025-03-04 22:33:21
*/
public interface ImChannelUserService extends IService<ImChannelUser> {

    /**
     * 频道中添加订阅者
     */
    void addChannelUser(ImChannelUser imChannelUser) throws IOException;

    /**
     * 频道中添加订阅者
     */
    void addChannelUser(String channelId, Long userId, ChannelTypeEnum channelType) throws IOException;

    /**
     * 添加黑名单
     */
    void addToBlacklist(String channelId, String userId, ChannelTypeEnum channelType) throws IOException;

    /**
     * 移除黑名单
     */
    void removeFromBlacklist(String channelId, String userId, ChannelTypeEnum channelType) throws IOException;

}
